package com.song.NacosServiceRegistry;

import com.song.transport.RPCRequest;

import java.util.List;


/**
 * 如果是 RPC 服务，以 Dubbo 为例，有下面几种负载均衡策略：
 *
 * 轮询负载均衡  静态、稳定
 * 加权轮询负载均衡  静态、稳定、允许服务端性能有差异
 *
 * 随机负载均衡
 * 最少活跃数负载均衡        动态实时变化
 * 最小响应时间负载均衡    动态实时变化
 * 一致性哈希负载均衡   算法稳定
 */
public interface LoadBalancer {
    <T> T select(List<T> t, RPCRequest rpcRequest);
}
